//递归调用 封装查询树形方法
export function build_tree(arr: any, id: number) {
  let childs: any = [];
  arr.forEach((v: any) => {
    if (v.pid == id) childs.push(v);
  });

  // 对于父节点为0的进行循环，然后查出父节点为上面结果id的节点内容
  childs.forEach((v: any) => {
    v.children = [];
    let buildTree = build_tree(arr, v.id);
    if (buildTree) v.children = buildTree;
  });
  return childs;
}

//复制内容
export function copy(val: string) {
  //兼容性处理
  if (navigator.clipboard && window.isSecureContext) {
    return navigator.clipboard.writeText(val);
  } else {
    var oInput = document.createElement("input"); //创建一个隐藏input（重要！）
    oInput.value = val; //赋值
    document.body.appendChild(oInput);
    oInput.select(); // 选择对象
    return new Promise((res, rej) => {
      document.execCommand("Copy") ? res(true) : rej(); // 执行浏览器复制命令
      oInput.className = "oInput";
      oInput.style.display = "none";
    });
  }
}
